package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import feign.Param;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: WmsPickingMapper.java
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @Author syh
 * @Date Wed Oct 25 18:25:38 CST 2017
 */
public interface WmsPickingMapper extends BaseDao<WmsPicking>{

 /**
  * 规定日期下的 总出库数量
  * @param map
  * @return
  */
 public Integer getZckslSum(@Param("map") Map<String, Object> map);

 /**
  * 判断货主管理中“是否切箱”
  * @param sshzid
  * @return
  */
 public WmsPicking sechSfqx(@Param("sshzid") String sshzid);

 /**
  * 拿着订单明细id去联合装箱/分配表去查库存的集合数据
  * @param
  * @param
  * @param map
  * @return
  */
 public List<WmsPicking> seachKc(@Param("map")Map<String,Object> map);

 /**
  * 拿着订单明细id去查 分配表和库存的集合数据
  * @param map
  * @return
  */
 public List<WmsPicking> seachKc_s(@Param("map")Map<String,Object> map);
 /**
  * 把现在得到的总数,到库存表里用待下架数量和库存数量各自减掉去
  * @param
  * @param map
  * @return
  */
 public Integer updateSl(@Param("map")Map<String,Object> map);
 /**
  * //查询库存对象selectKc
  * @param kcid
  * @return
  */
 public WmsStock selectKc(@Param("kcid")String kcid);
 /**
  * 生成新库存
  * @param map
  * @return
  */
 public Integer insetNewKc(@Param("map")Map<String,Object> map);
 /**
  * 更改分配拣货人
  * @param map
  * @param
  * @return
  */
 public Integer updateFp(@Param("map")Map<String,Object> map);
 /**
  * 更改装货拣货人
  * @param map
  * @param
  * @return
  */
 public Integer updateZh(@Param("map")Map<String,Object> map);
 /**
  * 发运订单里的状态改为全部拣货
  * @param
  * @param map
  * @return
  */
 public Integer updateFy(@Param("map")Map<String,Object> map);
 /**
  * 根据发运订单编号-查询发运订单明细
  * @param map
  * @return
  */
 List<WmsShipmentOrderDetailed> searchOrderDetailed(@Param("map")Map<String,Object> map);

 /**
  * 更改发运订单明细状态为全部拣货"4",部分拣货为"3"
  * @param  map
  * @return
  */
 public Integer updateFymxzt(@Param("map")Map<String,Object> map);
 /**
  * 生成拣货记录
  * @param map
  * @return
  */
 public Integer insertPick(@Param("map")Map<String,Object> map);
 /**
  *用货品id查这个箱里的货品对应的包装明细类型为2的箱数量
  * @param map
  * @return
  */
 public WmsPackingDetailed searchPackingDetailed(@Param("map")Map<String,Object> map);
 /**
  * 用分配的id 查装箱的集合
  * @param ssfpid
  * @return
  */
 public List<WmsBox> selectZxjh(@Param("ssfpid") String ssfpid);
 /**
  * 拿订单明细id查拣货集合
  * @param
  * @param
  * @param
  * @return
  */
 public  List<WmsPicking> seachJh(@Param("map")Map<String,Object> map);

 /**
  * 查询发运订单信息(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public List<WmsPicking> pickingTaskList(@Param("map") Map<String, Object> map);

 /**
  * 查询发运订单下的分配数据
  *
  * @param map1
  * @return
  */
 public List<WmsDistribution> searchDistribution(@Param("map") Map<String, Object> map1);
 /**
  * 用库存id和集货库位id查 新库存返回库存对象
  * @param
  * @param
  * @return
  */
 public WmsStock selectStock(@Param("map")Map<String,Object> map);
 /**
  * 更改拣货的发运状态
  * @param
  * @param map
  * @return
  */
 public Integer updateJhzt(@Param("map")Map<String,Object> map);
 /**
  * 更改新库存的数量
  * @param
  * @param map
  * @return
  */
 public Integer updateNewKcsl(@Param("map")Map<String,Object> map);
 /**
  * 更改发运订单明细发运状态以及（发运）箱单位数量
  * @param
  * @param
  * @param map
  * @return
  */
 public Integer updateMxfyzt(@Param("map")Map<String,Object> map);
 /**
  * 更改发运订单发运状态
  * @param
  * @param map
  * @return
  */
 public Integer updateDdfyzt(@Param("map")Map<String,Object> map);

 /**
  * 查订单信息用id
  * @param id
  * @return
  */
 public WmsShipmentOrder selectDd(@Param("id") String id);

 /**
  * 查询货主信息(生成拣货任务)
  *
  * @param hzid
  * @return
  */
 public WmsOwner searchWmsOwner(@Param("hzid") String hzid);

 /**
  * 查询发运订单下面的装箱的整箱数据
  *
  * @param map
  * @return
  */
 public List<WmsPickingTaskPda> searchBox(@Param("map") Map<String, Object> map);
 /**
  * 查询发运订单下面的装箱的散箱数据
  * @param map
  * @return
  */
 public List<WmsPickingTaskDps> searchBox2(@Param("map") Map<String, Object> map);

 /**
  * 查询客户集货库位id
  *
  * @param ydid
  * @return
  */
 public WmsPickingTaskPda searchKhjhkwid(@Param("ydid") String ydid);
 /**
  * 保存拣货任务进pda(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public Integer createPickingTask(@Param("map") Map<String, Object> map);

 /**
  * PDA消息表添加
  *
  * @param map
  * @return
  */
 public Integer saveMsg(@Param("map") Map<String, Object> map);
 /**
  * 保存拣货任务进Dps(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public Integer createPickingTask2(@Param("map") Map<String, Object> map);

 /**
  * 更改分配生成状态(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public Integer updateFp2(@Param("map") Map<String, Object> map);

 /**
  * 还原PDA数据(删除pda数据)(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public Integer deletePda(@Param("map") Map<String, Object> map);

 /**
  * 还原DPS数据(删除dps数据)(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public Integer deleteDps(@Param("map") Map<String, Object> map);

 /**
  * 查询发运订单下面的分配数据(PDA)(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public List<WmsPickingTaskPda> queryDistribution(@Param("map") Map<String, Object> map);

 /**
  * 查询发运订单下面的分配数据(DPS)(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public List<WmsPickingTaskDps> queryDistribution2(@Param("map") Map<String, Object> map);

 /**
  * 查询发运订单明细(生成拣货任务专用)
  *
  * @param map
  * @return
  */
 public List<WmsShipmentOrderDetailed> orderDetailed(@Param("map") Map<String, Object> map);

 /**
  * 更改发运订单状态
  *
  * @param map
  * @return
  */
 public Integer updateDdjhzt(@Param("map") Map<String, Object> map);

 /**
  * 查询装箱信息(分配ID)
  *
  * @param fpid
  * @return
  */
 public WmsBox searchBox3(@Param("fpid") String fpid);

 /**
  * 查询发运订单明细数据(发运订单明细id)
  *
  * @param id
  * @return
  */
 public WmsShipmentOrderDetailed searchDdMx(@Param("id") String id);

 /**
  * 查询发运订单数据(发运订单id)
  *
  * @param id
  * @return
  */
 public WmsShipmentOrder searchDd(@Param("id") String id);
 /**
  * 查询分配信息(传分配id)
  *
  * @param id
  * @return
  */
 public WmsDistribution searchFpMx(@Param("id") String id);

 /**
  * 统计发运订单明细数据
  *
  * @param map
  * @return
  */
 public WmsShipmentOrderDetailed searchDdMx2(@Param("map") Map<String, Object> map);

 /**
  * 打印分拣单查询
  * @param map
  * @return
  */
 public List<WmsPrintPicking> printPicking(@Param("map") Map<String, Object> map);

 /**
  * 打印分拣单查询2(统计主单位数量)
  * @param ssfyid
  * @return
  */
 public WmsPrintPicking printPicking2(@Param("ssfyid") String ssfyid);
 /**
  * 打印分拣单明细查询
  *
  * @param ssfyid
  * @return
  */
 public List<WmsPrintPickingDetail> printPickingDetailed(@Param("ssfyid")String ssfyid);

 /**
  * 打印合并分拣单查询
  *
  * @param map
  * @return
  */
 public WmsPrintPicking printMergePicking(@Param("map") Map<String, Object> map);

 /**
  * 获取货主集货库位
  *
  * @param hzid
  * @return
  */
 public WmsOwner searchWmsOwner2(@Param("hzid") String hzid);

 /**
  * 打印分拣单查询2(统计主单位数量)
  *
  * @param map
  * @return
  */
 public String printMergePicking2(@Param("map") Map<String, Object> map);

 /**
  * 打印合并分拣单明细查询
  *
  * @param map
  * @return
  */
 public List<WmsPrintPickingDetail> printMergePickingDetailed(@Param("map") Map<String, Object> map);

 /**
  * 打印合并分拣单明细查询备注信息
  *
  * @param map3
  * @return
  */
 public List<WmsPrintPickingDetail> printMergePickingDetailed2(@Param("map") Map<String, Object> map3);
 /**
  * 查看已完成拣货任务
  *
  * @param map
  * @return
  */
 public List<WmsPickingTask> seeCompleteTask(@Param("map") Map<String, Object> map);

 /**
  * 查看未完成拣货任务
  *
  * @param map
  * @return
  */
 public List<WmsPickingTask> notCompleteTask(@Param("map") Map<String, Object> map);

 /**
  * 整箱的拣货记录将不需要复核就可以发运(查询是否为整箱)
  *
  * @param zxid
  * @return
  */
 public WmsBox searchBox4(@Param("zxid") String zxid);
}
